#ifndef DATAACCESS_H
#define DATAACCESS_H

#include "Helper.h"
#include "GameData.h"
#include "ChapterData.h"
#include "LevelData.h"
#include "ShapeData.h"


class DataAccess
{
public:
    static DataAccess* sharedDataAccess();

    void loadGameData();
    void saveGameData();
    void loadObjectShapePath(string _fileName);
    void getFixturesForBody(b2Body *_body, const string &_key, const char &_filterGroup);

private:
    static void purgeDataAccess();

    DataAccess();
    ~DataAccess();

    DataAccess(DataAccess const&);
    DataAccess& operator=(DataAccess const&);


public: // properties
    GameData gameData;

private:
    static DataAccess *_sharedInstance;

    ShapeData *shapeData;
};

#endif // DATAACCESS_H
